/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

var iniciado=false;
$(document).ready(main);

function main(){    
    
    verificarsimulacion();
    verificarConfiguracion();
    $("#procesarDatos").hide();
    $("#pedidosDIV").hide();
    $("#realizarSimulacion").click(iniciarSimulacion);
    $("#pararSimulacion").click(pararSimulacion);
    $("#procesarDatos").click(procesarDatos);
    $("#filtro").click(filtra);
    var rol = localStorage.getItem('Tipo');
        
        
    if (rol == "administrador"){
        $("#formFiltro").show();
        $("#pedidosDIV").show();
        addCanvas();
        cargarPlacas();
    }
    if (rol == "chofer"){
        $("#formFiltro").hide();
        $("#realizarSimulacion").text("Ver ruta");
        addCanvas();
        $("#pararSimulacion").hide();
        idCarro = localStorage.getItem("idVehiculo");
        nVehiculo = 1;
    }
    
    //$("#reset").click(reset);
    //$("#closeM").click(reset);
}

function verificarsimulacion(){
    $.ajax({
                async: false,
	    	type: "POST",
	    	contentType: "application/json; charset=utf-8",
	    	url: "reloj.htm",
	    	success: function(data){
	    		if(data.me === "No corre"){
                            
                            estaSimulando= false;
	    		}
	    		else{           
                            estaSimulando= true;
	    		}
	    	}
});
    
}

function permite(elEvento, permitidos) {
    // Variables que definen los caracteres permitidos
    var numeros = "0123456789";
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    var numerosCaracteres = numeros + caracteres;
    var teclasEspeciales = [8, 37, 39, 46];
    // 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha


    // Seleccionar los caracteres a partir del parámetro de la función
    switch (permitidos) {
        case 'num':
            permitidos = numeros;
            break;
        case 'car':
            permitidos = caracteres;
            break;
        case 'numCar':
            permitidos = numerosCaracteres;
            break;
    }

    // Obtener la tecla pulsada 
    var evento = elEvento || window.event;
    var codigoCaracter = evento.charCode || evento.keyCode;
    var caracter = String.fromCharCode(codigoCaracter);

    // Comprobar si la tecla pulsada es alguna de las teclas especiales
    // (teclas de borrado y flechas horizontales)
    var teclaEspecial = false;
    for (var i in teclasEspeciales) {
        if (codigoCaracter == teclasEspeciales[i]) {
            teclaEspecial = true;
            break;
        }
    }

    // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
    // o si es una tecla especial
    return permitidos.indexOf(caracter) != -1 || teclaEspecial;
}

function cargarPlacas(){
    $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "placas.htm",
        beforeSend: function(){
        	
        },        
        success: function(data){
        	console.log(data);
        	if (data.me === ""){
        		
        		var escritor = "";
                        escritor += '<option value = -1></option>';
        		
        		
        		$.each(data.lPlaca, function (i, item) {
        			escritor += '<option value = "' + item.vehiculo_id + '">' + item.placa + '</option>';
        		});
        		
        		$("#tipoPlaca").html(escritor);
        	}
        	else{
        		alert("Hubo un error en la Base de Datos, se proceder� a recargar la p�gina");
        		
        	}
        	
        }
    });
}

function filtra(){
    motorG.vehicleCanvas.clearCanvas();
    idCarro = document.getElementById("tipoPlaca").value;
//    idPedido = document.getElementById("inputPedido").value;
//    idCliente = document.getElementById("inputCliente").value;
    if ((idCarro == "-1")) {//&&(idPedido === -1)&&(idCliente==="")) {
        nVehiculo = 60;
    } else {
        nVehiculo = 1;
    }
}

function verificarConfiguracion(){
	    $.ajax({
                async: false,
	    	type: "POST",
	    	contentType: "application/json; charset=utf-8",
	    	url: "verificarConfiguracion.htm",
	    	success: function(data){
	    		if(data.me === "Configurado"){
                                configurado=true;
	    		}
	    		else{
	    			configurado=false;
	    		}
	    	}
	    });
           
	         
}

function iniciarSimulacion(){
//    if (iniciado===false ){
//        if (configurado===true) {
//            if(!primerInicio) motorG.vehicleCanvas.clearCanvas();
//            estaSimulando = true;
//            primerInicio = false;
//            $("#procesarDatos").hide();
//            
//            addCanvas();
//            iniciado=true;
//            $("#pedidosDIV").show();
//        } else{
//             if (estaSimulando===false){
//                $("#modalFecha").modal('toggle');
//                setearFecha();
//             }
//        }
//    } else {
//    configurado=true;
//     alert ("Ya fue inicializada la simulacion.");
//    }
    if (estaSimulando && configurado){
        motorG.vehicleCanvas.clearCanvas();
        addCanvas();
    }
    if (!estaSimulando && configurado){
        estaSimulando = true;
        $.ajax({
                async: false,
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "iniciarSimulacion.htm"
        });
        addCanvas();
    }
    if (!estaSimulando && !configurado){
        $('#modalFecha').modal('toggle');
    }
}

function pararSimulacion(){
    estaSimulando = false;
    iniciado=false;
    configurado = false;
    //$("#procesarDatos").show();
    motorG.imagesLoaded = false;
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "pararSimulacion.htm"
    });
    console.log(motorG.imagesLoaded);
//    motorG.vehicleCanvas.clearCanvas();
//    document.getElementById("fecha").innerHTML = "FECHA SIMULADA: 00-00-0000";
//    document.getElementById("hora").innerHTML = "HORA SIMULADA: 00:00";
//    while(1){
//        if (hora == document.getElementById("hora").value) break; 
//        hora = document.getElementById("hora").value;
//    }
}

function procesarDatos(){
    $("#realizarSimulacion").attr('disabled','disabled');
    $("#pararSimulacion").attr('disabled', 'disabled');
    $("#procesarDatos").attr('disabled', 'disabled');
//    var hora = document.getElementById("hora").value;
//    while(1){
//        if (document.getElementById("hora").value - document.getElementById("hora").value == 0)
//            break; 
//    }
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "actualizarPedido.htm",
        success: function(data){
            //alert(data);
            if(data.me == ""){
                $("#realizarSimulacion").attr('disabled',false);
                $("#pararSimulacion").attr('disabled', false);
                $("#procesarDatos").attr('disabled', false);
            } else alert("error al actualizar los pedidos");
        }
    });
}